Course Name | Software Maintenance |
Code | Semester | Theory (hour/week) | Application/Lab (hour/week) | Local Credits | ECTS |
---|---|---|---|---|---|
SE 470 | Fall/Spring | 3 | 0 | 3 | 5 |
Prerequisites | None | |||||
Course Language | English | |||||
Course Type | Elective | |||||
Course Level | First Cycle | |||||
Mode of Delivery | - | |||||
Teaching Methods and Techniques of the Course | Lecture / Presentation | |||||
Course Coordinator | ||||||
Course Lecturer(s) | ||||||
Assistant(s) | - |
Course Objectives | The objective of this course is to provide students a common understanding of software maintenance principles. |
Learning Outcomes | The students who succeeded in this course;
|
Course Description | The objective of this course is to provide the fundamental concepts of software maintenance, its framework and processes, and to provide insight into abstraction, problem solving and systematic view. |
Related Sustainable Development Goals |
| Core Courses | X |
Major Area Courses | ||
Supportive Courses | ||
Media and Managment Skills Courses | ||
Transferable Skill Courses |
Week | Subjects | Required Materials |
1 | Introduction | |
2 | The context of maintenance, introduction to the basic concepts | Grubb and Takang, ch.1 |
3 | The maintenance framework. | Grubb and Takang, ch.2, Pressman, ch. 29 |
4 | Software change | Grubb and Takang, ch.3 |
5 | Limitations and economic implications to software change | Grubb and Takang, ch.4 |
6 | Maintenance process | Grubb and Takang, ch.5, ISO/IEC 14764 |
7 | Overview | |
8 | Midterm exam | |
9 | Program understanding | Grubb and Takang, ch.6 |
10 | Reverse engineering | Grubb and Takang, ch.7, Pressman, ch. 29 |
11 | Reverse engineering | Grubb and Takang, ch.7, Pressman, ch. 29 |
12 | Reuse and resuability | Grubb and Takang, ch.8 |
13 | Reuse and reusability | Grubb and Takang, ch.8 |
14 | Management and organizational issues | Grubb and Takang, ch.10 |
15 | Review | |
16 | Review of the Semester |
Course Notes/Textbooks | Grubb and Takang, Software Maintenance Concepts and Practice, 2e, World Scientific, 2003. |
Suggested Readings/Materials | Bourque, P. and R.E. Fairley (eds.). 2014. Guide to the Software Engineering Body of Knowledge (SWEBOK). Los Alamitos, CA, USA: IEEE Computer Society. Sommerville I. Software Engineering. 10th ed. Addison Wesley, 2016. Pressman, Software Engineering: A Practitioners Approach, 7e, McGraw-Hill, 2010. Canfora and Cimitile, Software Maintenance, 2000, http://www.compaid.com/caiInternet/ezine/maintenancecanfora.pdf. Jones, The Economics of Software Maintenance in the Twenty-First Century, 2006. |
Semester Activities | Number | Weigthing |
Participation | ||
Laboratory / Application | ||
Field Work | ||
Quizzes / Studio Critiques | ||
Portfolio | ||
Homework / Assignments | ||
Presentation / Jury | ||
Project | ||
Seminar / Workshop | ||
Oral Exam | ||
Midterm | 1 | 40 |
Final Exam | 1 | 60 |
Total |
Weighting of Semester Activities on the Final Grade | 1 | 40 |
Weighting of End-of-Semester Activities on the Final Grade | 1 | 60 |
Total |
Semester Activities | Number | Duration (Hours) | Workload |
---|---|---|---|
Course Hours (Including exam week: 16 x total hours) | 16 | 3 | 48 |
Laboratory / Application Hours (Including exam week: 16 x total hours) | 16 | ||
Study Hours Out of Class | 14 | 3 | 42 |
Field Work | |||
Quizzes / Studio Critiques | - | ||
Portfolio | |||
Homework / Assignments | |||
Presentation / Jury | |||
Project | |||
Seminar / Workshop | |||
Oral Exam | |||
Midterms | 1 | 20 | |
Final Exams | 1 | 40 | |
Total | 150 |
# | Program Competencies/Outcomes | * Contribution Level | ||||
1 | 2 | 3 | 4 | 5 | ||
1 | To have adequate knowledge in Mathematics, Science and Computer Engineering; to be able to use theoretical and applied information in these areas on complex engineering problems. | X | ||||
2 | To be able to identify, define, formulate, and solve complex Computer Engineering problems; to be able to select and apply proper analysis and modeling methods for this purpose. | X | ||||
3 | To be able to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the requirements; to be able to apply modern design methods for this purpose. | X | ||||
4 | To be able to devise, select, and use modern techniques and tools needed for analysis and solution of complex problems in Computer Engineering applications; to be able to use information technologies effectively. | X | ||||
5 | To be able to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or Computer Engineering research topics. | X | ||||
6 | To be able to work efficiently in Computer Engineering disciplinary and multi-disciplinary teams; to be able to work individually. | X | ||||
7 | To be able to communicate effectively in Turkish, both orally and in writing; to be able to author and comprehend written reports, to be able to prepare design and implementation reports, to present effectively, to be able to give and receive clear and comprehensible instructions. | X | ||||
8 | To have knowledge about global and social impact of Computer Engineering practices on health, environment, and safety; to have knowledge about contemporary issues as they pertain to engineering; to be aware of the legal ramifications of Computer Engineering solutions. | X | ||||
9 | To be aware of ethical behavior, professional and ethical responsibility; to have knowledge about standards utilized in engineering applications. | X | ||||
10 | To have knowledge about industrial practices such as project management, risk management, and change management; to have awareness of entrepreneurship and innovation; to have knowledge about sustainable development. | X | ||||
11 | To be able to collect data in the area of Computer Engineering, and to be able to communicate with colleagues in a foreign language. ("European Language Portfolio Global Scale", Level B1) | X | ||||
12 | To be able to speak a second foreign language at a medium level of fluency efficiently. | |||||
13 | To recognize the need for lifelong learning; to be able to access information, to be able to stay current with developments in science and technology; to be able to relate the knowledge accumulated throughout the human history to Computer Engineering. | X |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest